﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using csvmb.contracts.infrastructure;
using csvmb.csvadapter.contracts ;

namespace csvmb.csvadapter {
    public class Datenzeilen_Positionen_lesen : IDatenzeilen_Positionen_lesen, IDependsOn<IDateiadapter> {
        public void Process(string p_Dateiname) {
            Trace.TraceInformation("Datenzeilen_Positionen_lesen.Process aufgerufen mit {0}", p_Dateiname);

            m_Dateiadapter.Init(p_Dateiname);
            Result(m_Dateiadapter.Datenzeilen_Positionen_lesen() ); 
        }

        public event Action<IEnumerable<long>> Result;

        private IDateiadapter m_Dateiadapter;
        public void Inject(IDateiadapter independent) {
            Trace.TraceInformation("Datenzeilen_Positionen_lesen.Inject aufgerufen mit {0}", independent);

            m_Dateiadapter = independent;
        }
    }
}
